package com.xbongbong.saas.domain.entity;

import com.xbongbong.paas.toolbox.wrap.Entity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * @author youli.chen
 * @version v1.0
 * @description: 呼叫中心实体类
 * @date 2019/2/13 14:09
 * @since v1.0
 */
@Setter
@Getter
@ToString
public class CallCenterConfigEntity extends Entity {

    /**
     * 主键
     */
    private Long id;
    /**
     * 公司ID
     */
    private String corpid;
    /**
     * 来电是否自动弹出客户详情
     */
    private Integer isAutoOpenDetail;
    /**
     * 是否隐藏号码段
     */
    private Integer isShowPhone;
    /**
     * 是否开启了免打扰策略
     */
    private Integer isAntiDisturb;
    /**
     * 是否开启智能批量外呼。0：开启，1：关闭
     */
    private Integer batchCall;
    /**
     * 有效通话时长  为null时赋值0
     */
    private Integer effectiveTime;
    /**
     * 每天每个客户最多拨打次数
     */
    private Integer callNumPerDay;
    /**
     * 每周每个客户最多拨打次数
     */
    private Integer callNumPerWeek;
    /**
     * 每月每个客户最多拨打次数
     */
    private Integer callNumPerMonth;
    /**
     * 是否开启防封号规则。0：关闭，1：开启，针对单个呼叫卡
     */
    private Integer callBlockRule;
    /**
     * 呼叫时间间隔。单位，秒
     */
    private Integer callBlockInterval;
    /**
     * 30分钟最多拨打次数
     */
    private Integer callBlockThirtyNum;
    /**
     * 30分钟最多拨打次数,超过限制自动换卡 0:关闭，1:开启
     */
    private Integer callBlockThirtySwitch;
    /**
     * 1天最多拨打次数
     */
    private Integer callBlockDayNum;
    /**
     * 1天最多拨打次数,超过限制自动换卡 0:关闭，1:开启
     */
    private Integer callBlockDaySwitch;
    /**
     * 封号触发方式。1:触发后在规定时间内禁止外呼，直至解封。2:触发后给予提示，但用户可选择进行继续外呼操作。
     */
    private Integer callBlockTriggerWay;

    /**
     * 移动端呼出的默认设置，普通电话（手机）：MOBILE 钉钉智能电话：DINGTALK 度言呼叫：DUYAN
     */
    private String mobileDefaultCallType;
    /**
     * 是否允许直接调用手机拨号
     */
    private Integer isMobileEnable;
    /**
     * 是否允许直接调用【钉钉】拨号
     */
    private Integer isDingtalkEnable;
    /**
     * 是否允许直接调用【度言】拨号
     */
    private Integer isDuYanEnable;
    /**
     * 创建时间
     */
    private Integer addTime;
    /**
     * 更新时间
     */
    private Integer updateTime;
    /**
     * 删除标记
     */
    private Integer del;

    public CallCenterConfigEntity() {
        // 默认不开启 来电自动弹出客户详情
        isAutoOpenDetail = 0;
        // 默认关闭，代表显示号码(true)
        isShowPhone = 1;
        // 默认不开启 免打扰策略
        isAntiDisturb = 0;
        // 每天每个客户最多拨打次数  默认0：不限制
        callNumPerDay = 0;
        // 每周每个客户最多拨打次数 默认0：不限制
        callNumPerWeek = 0;
        // 每月每个客户最多拨打次数 默认0：不限制
        callNumPerMonth = 0;
        // 默认关闭防封号规则
        callBlockRule = 0;
        // 呼叫时间间隔,默认120秒
        callBlockInterval = 120;
        // 30分钟最多拨打次数,默认10次
        callBlockThirtyNum = 10;
        // 30分钟最多拨打次数,超过限制自动换卡 0:关闭，1:开启 默认关闭
        callBlockThirtySwitch = 0;
        // 1天最多拨打次数,默认50次
        callBlockDayNum = 50;
        // 1天最多拨打次数,超过限制自动换卡 0:关闭，1:开启 默认关闭
        callBlockDaySwitch = 0;
        // 封号触发方式。1:触发后在规定时间内禁止外呼，直至解封。2:触发后给予提示，但用户可选择进行继续外呼操作。默认强提示
        callBlockTriggerWay = 1;
        // 是否开启智能批量外呼。0：开启，1：关闭  默认关闭
        batchCall = 1;
        // 有效通话时长  默认0秒
        effectiveTime = 0;
        // 默认开启 直接调用手机拨号
        isMobileEnable = 1;
        // 默认开启 直接调用【钉钉】拨号
        isDingtalkEnable = 1;
        // 默认开启 直接调用【度言】拨号
        isDuYanEnable = 1;
    }

    public CallCenterConfigEntity(String corpid) {
        this();
        this.corpid = corpid;
    }
}
